from flask import Flask,render_template,request   # 要使flask呈现模板，就要用到render_template的函数
from vsearch import search4letters                # 在web应用中使用请求request数据，request对象包含一个名为form的字典属性，可以访问从浏览器提交的HTML表单数据。
app = Flask(__name__)

@app.route('/search4',methods=['POST'])
def do_search() -> 'html':
    phrase = request.form['phrase']
    letters = request.form['letters']  # 这里的phrase和letters 把HTML表单的数据赋给新创建的变量
    title = "Here are your results:"     # 接着从这个函数中的变量和所赋的值来创建所需的其余两个模板参数（the_title和the_results）
    results = str(search4letters(phrase,letters))  # 这是把search4letters的调用结果赋给results
    return render_template('results.html',      # 这里需要呈现results.html模板
                           the_phrase=phrase,   # 这里的四行是 各个python变量赋给相应的Jinja2参数，通过这种方式，程序代码的数据会传递到模板中。
                           the_letters=letters,
                           the_title=title,
                           the_results=results,)
@app.route('/')
@app.route('/entry')    # 为了呈现entry.html模板中的HTML表单，所以要创建一个新的URL这里就是/entry
def entry_page() -> "html":
    return render_template('entry.html',
                           the_title='Welcome to search4letters on the web!')
                 # 这里return要返回传入的模板文件名以及模板所需的参数值
if __name__ == '__main__':
    app.run()


